package com.asset.dispoal.poi.documentation.domain.db.mapper;


import com.asset.dispoal.poi.documentation.domain.db.ConfItemDo;
import com.asset.dispoal.poi.documentation.domain.db.FeatureTable;
import com.asset.dispoal.poi.documentation.domain.db.FeatureTableExpand;
import com.asset.dispoal.poi.documentation.domain.db.FormulaData;
import com.asset.dispoal.poi.documentation.domain.db.JudicialDocument;
import com.asset.dispoal.poi.documentation.domain.db.JudicialDocumentParam;
import com.asset.dispoal.poi.documentation.domain.db.PlaintiffFileDo;
import com.asset.dispoal.poi.documentation.domain.dto.AppointCaseDTO;
import com.asset.dispoal.poi.documentation.domain.dto.AppointDTO;
import com.asset.dispoal.poi.documentation.dto.AgentRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author qr
 * @date 2022/5/6$
 */
@Mapper
public interface DocumentationMapper {


    List<Map<String, String>> queryDataDetail(@Param("assetInstBatchId") String assetInstBatchId);


    List<Map<String, Object>> queryResult(@Param("assetInstBatchId") String assetInstBatchId,
                                          @Param("ListMap") List<Map<String, String>> map,
                                          @Param("appointId") String appointId);


    JudicialDocument getJudicialDocumentById(String templateId);

    List<JudicialDocumentParam> queryJudicialDocumentParamByDocumentId(String templateId);

    List<FormulaData> queryFormulaData();

    FeatureTable getFeatureTableById(@Param("id") String id);

    List<FeatureTableExpand> queryFeatureTableExpandByTableId(@Param("tableId") String templateId);

    AppointDTO getAppointDtoById(String id);

    List<AppointCaseDTO> queryCaseByAppointId(String appointId);

    List<ConfItemDo> findConfItemDetailById(@Param("evidenceConfId") String evidenceConfId, @Param("appointId") String appointId);

    /**
     * 根据id查找特殊备注
     *
     * @param appointId
     * @return
     */
    String findSpecialRemarkById(String appointId);

    List<PlaintiffFileDo> queryPlaintiffFileById(@Param("id") String plaintiffId);

    Map<String, Object> getFormulaInfoById(String id);

    Map<String, Object> getPlaintiffById(String id);

    List<Map<String, Object>> queryAgentByAgentIdList(@Param("agent") List<AgentRequest> agent);
}
